import 'package:flutter/material.dart';
import 'enum/theme_mode.dart';

/// 全局应用配置管理类
class AppConfig {
  AppConfig._();

  static final AppConfig _instance = AppConfig._();

  factory AppConfig() => _instance;

  /// 当前主题模式
  final ValueNotifier<AppThemeMode> themeMode = ValueNotifier(AppThemeMode.system);

  /// 是否启用调试日志
  final ValueNotifier<bool> enableDebugLogging = ValueNotifier(true);

  /// API超时时间（毫秒）
  final ValueNotifier<int> apiTimeout = ValueNotifier(30000);

  /// 默认分页大小
  final ValueNotifier<int> defaultPageSize = ValueNotifier(20);

  /// 设置主题模式
  void setThemeMode(AppThemeMode mode) {
    themeMode.value = mode;
  }

  /// 设置调试日志开关
  void setDebugLogging(bool enabled) {
    enableDebugLogging.value = enabled;
  }

  /// 设置API超时时间
  void setApiTimeout(int timeout) {
    apiTimeout.value = timeout;
  }

  /// 设置默认分页大小
  void setDefaultPageSize(int size) {
    defaultPageSize.value = size;
  }
}

/// 全局应用配置实例
final appConfig = AppConfig();